//题目链接：https://leetcode.cn/problems/group-anagrams/
class Solution {
public:
    vector<vector<string>> groupAnagrams(vector<string>& strs) 
    {
        vector<vector<string>> ret;
        unordered_map<string,vector<string>> hash;
        //1. 通过对字符串进行排序，字母异位词排序后一定相同
        //2. 将是字母异位词的字符串插入到该字符串对应的数组中
        //3. 将结果提取出来
        for(auto &str:strs)
        {
            string tmp=str;
            sort(tmp.begin(),tmp.end());
            hash[tmp].push_back(str);
        }
        for(auto [x,vstr]:hash)
        {
            ret.push_back(vstr);
        }
        return ret;
    }
};